1. Field
The present disclosure relates generally to on-demand services and, more specifically, to distributed computing applications that predictively provide dispatch advice to providers of geographically distributed, on-demand services.
2. Description of the Related Art
On demand services are accounting for an increasing portion of economic activity. Examples include on-demand car ride services, such as those provided by Uber™ or Lyft™. Other examples include on-demand services for running errands, for instance, dropping off dry cleaning, delivering lunch, and transporting items. The universe of such services is expected to expand.
Many on-demand services are built around independent contractors who subscribe to an online service where tasks are hosted, e.g., accessing repositories of tasks hosted on a server via an application program interface (API) for the service using a native application executing on the service provider's or other end user's location-aware smart phone or other mobile computing device (e.g., tablet, in-dash automotive computer, smart watch, etc.). Such contractors and other end users select and prioritize among the available tasks to choose when and where they will provide services. Often these tasks are tied to geographic locations, for instance, a pickup or drop-off location or both. Further, often these tasks are compensated at rates that change based on the amount of demand, the amount of supply, or other factors. Other businesses use a mix of contractors and employees or purely employees to similar ends, using similar technology.
Individual contractors, business engaging in logistical operations, and employees of such businesses often face computationally challenging problems when selecting which tasks to undertake. These challenges can include predicting supply and demand and accounting for dynamic behavior of other service providers struggling to make similar predictions. Similarly, those creating the tasks among which the contractors select often face computationally challenging problems arising from the large number of different ways a set of tasks might be constructed in order to satisfy a collection of orders from consumers. Examples of relevant parameters include: the order a user will complete a task; the quickest way to a destination; how a new task is stacked ranked against other tasks; and notifying users of a driver's current location and estimated time of arrival.